<?php

namespace Mogod\Core\ActiveRecord;

/**
 * ActiveRecord
 *
 * @author goorus, morph
 */
class ActiveRecord
{

	/**
	 * Связанная модель
	 *
	 * @var object
	 */
	protected $model;

	/**
	 * Менеджер AR
	 *
	 * @inject
	 * @var ActiveRecordManager
	 */
	protected $manager;

	/**
	 * Удаляет запись
	 */
	public function delete()
	{
		$this->manager->delete($this);
	}

	/**
	 * Возвращает модель
	 * @return object
	 */
	public function getModel()
	{
		return $this->model;
	}

	/**
	 * Выполняет запрос на вставку записи
	 */
	public function insert()
	{
		$this->manager->insert($this);
	}

	/**
	 *
	 * @param object $model
	 * @return $this
	 */
	public function setModel($model)
	{
		$this->model = $model;
		return $this;
	}

	/**
	 * Выполняет запрос на обновление записи
	 */
	public function update()
	{
		$this->manager->update($this);
	}

}
